Type inference with subtypes
نویسندگان
چکیده
منابع مشابه
Type Inference With Simple Subtypes
ion clause, we use A -{x:σ} to denote the set difference, i.e., the type assignment defined by removing x:σ from A. G(x) = { s⊆t }, {x:s} ⊃ x:t G(MN) = let C1, A1 ⊃ M:σ = G(M) C2, A2 ⊃ N:τ = G(N), with type variables renamed to be disjoint from those in G(M) S = UNIFY({α=β | x:α∈A1 and x:β∈A2} ∪ {σ=τ→t}) where t is a fresh type variable in SC1∪SC2∪{St⊆u}, SA1∪SA2 ⊃ MN:u where u is a fresh type ...
متن کاملType Inference with Inequalities
Type inference can be phrased as constraint-solving over types. We consider an implicitly typed language equipped with recursive types, multiple inheritance, 1st order parametric polymorphism, and assignments. Type correctness is expressed as satisfiability of a possibly infinite collection of (monotonic) inequalities on the types of variables and expressions. A general result about systems of ...
متن کاملType Inference with Set Theoretic Type Operators
We study an extension of the Hindley/Milner type system including union, intersection and recursive types as well as subtyping and a limited form of bounded poly-morphism. In this system|as in many other systems with subtyping|the type inference problem reduces to a problem of solving inclusion constraints. We encode types as regular tree expressions/set constraints, and show how well-known tec...
متن کاملPolymorphic Type Checking with Subtypes in Prolog
In this paper, we give an executable specification of a state-of-the-art polymorphic type checking system with subtypes in Prolog. We show that the implementation reduces to modifying simple well-known rectainterpreters into type meta-interpreters and applying the so-called generate-and-test approach to programming in Prolog. This study emphasizes that Prolog is suitable as a language for defin...
متن کاملSecuring Perl with Type Inference
The Perl programming language has several features that predispose it to use by casual programmers[25]. These features also make it safer to use than lowlevel languages like C, in a security sense. However, Perl uses a very permissive dynamic typing system that prevents the compiler from identifying type errors at compile time. In this paper, we discuss a type system for Perl that should help e...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Theoretical Computer Science
سال: 1990
ISSN: 0304-3975
DOI: 10.1016/0304-3975(90)90144-7